package com.genfu.reform.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Entity implementation class for Entity: RoleInfo
 * 
 */
@Entity
@Table(name = "ROLE_INFO")
public class RoleInfo implements Serializable {

	@Id
	@Column(name = "ROLE_ID")
	private long id;

	@Column(name = "ROLE_NAME")
	private String roleName;

	@Column(name = "ROLE_DESCRIPTION")
	private String roleDescription;

	@Column(name = "ROLE_FLAG")
	private String roleFlag;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "ROLE_EFF_DATE")
	private Date roleEffDate;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "ROLE_EXP_DATE")
	private Date roleExpDate;
	
	
	@ManyToMany(cascade = CascadeType.REFRESH)
	@JoinTable
	private List<NavigationNode> NAVIGATION_NODE;

	private static final long serialVersionUID = 1L;

	public RoleInfo() {
		super();
	}

	public long getId() {
		return this.id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getRoleName() {
		return this.roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public String getRoleDescription() {
		return this.roleDescription;
	}

	public void setRoleDescription(String roleDescription) {
		this.roleDescription = roleDescription;
	}

	public String getRoleFlag() {
		return this.roleFlag;
	}

	public void setRoleFlag(String roleFlag) {
		this.roleFlag = roleFlag;
	}

	public Date getRoleEffDate() {
		return roleEffDate;
	}

	public void setRoleEffDate(Date roleEffDate) {
		this.roleEffDate = roleEffDate;
	}

	public Date getRoleExpDate() {
		return roleExpDate;
	}

	public void setRoleExpDate(Date roleExpDate) {
		this.roleExpDate = roleExpDate;
	}

	public List<NavigationNode> getNAVIGATION_NODE() {
		return NAVIGATION_NODE;
	}

	public void setNAVIGATION_NODE(List<NavigationNode> nAVIGATION_NODE) {
		NAVIGATION_NODE = nAVIGATION_NODE;
	}



}
